# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-lxml
_pkgname=lxml
pkgver=5.1.0
pkgrel=0
pkgdesc="Python3 LXML Library"
url="https://lxml.de/"
arch="all"
license="BSD-3-Clause AND ZPL-2.0 AND ElementTree"
makedepends="
	cython
	libxml2-dev
	libxslt-dev
	py3-gpep517
	py3-setuptools
	py3-wheel
	python3-dev
	"
checkdepends="py3-html5lib"
subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
	libxml-2.11.0.patch
	tests-fix-encoding-name.patch
	fix-test_elementtree-with-expat-2.6.0.patch
	"
builddir="$srcdir/$_pkgname-$pkgver"

# secfixes:
#   4.9.2-r0:
#     - CVE-2022-2309
#   4.6.5-r0:
#     - CVE-2021-43818
#   4.6.2-r0:
#     - CVE-2020-27783
#   4.6.3-r0:
#     - CVE-2021-28957

build() {
	export CFLAGS="$CFLAGS -flto=auto"
	gpep517 build-wheel \
		--wheel-dir .dist \
		--config-json '{"--build-option": ["--with-cython"]}' \
		--output-fd 3 3>&1 >&2
}

check() {
	local testpy3="$builddir"/.testenv/bin/python3
	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl
	make PYTHON="$testpy3" PYTHON3="$testpy3" test
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl
}

sha512sums="
a538f322686a1b2c63211d915db900116b7db467a1cce0a0ad7a93e6c15195a66dc6d091301d1918f2cb513ee3168be939945ae60aa470fd9604f6d46e9eb375  lxml-5.1.0.tar.gz
6436f87042563bb3a08bd7d0216fdb284d639b1a72fde77dce75d7c3e63f4f18ba115df9540fe4298f558df53f9dbfbd781374138544e8e5d9cb5ca5928f343c  libxml-2.11.0.patch
ef5ba4064166443e07040db315173a4d0cb0d83eb3cd49623f210253a25433ec1c408d6d8e538f93498a211bc1695fdaa3e39f8ac75f36a3319c38bd96ba73eb  tests-fix-encoding-name.patch
7edb98daa4ea776c18c0b59fed6e54d4bb6e1c14101cdc768a4e5c803b6d94147dc2e13dc5fb3a48e6faa952ef1f7a16712fb6b0306351db6c4e0063f432fac1  fix-test_elementtree-with-expat-2.6.0.patch
"
